package com.study.system.mapper;

import com.study.system.entity.Activity;
import com.study.system.vo.ActivityInfoVO;

import org.apache.ibatis.annotations.Mapper;

import java.util.List;

@Mapper
public interface ActivityMapper {

    // 查询指定用户参加的活动Id
    List<Integer> selectActivityIdByUser(Integer userId);

    // 根据活动Id查询活动信息
    ActivityInfoVO selectActivityById(Integer Id);

    // 查询排除指定Id之后的所有活动信息
    List<ActivityInfoVO> selectAllActivityNotId(List<Integer> activitiesId);

    // 查询所有活动信息
    List<ActivityInfoVO> selectAllActivity();

    // 根据社团Id查询所有活动信息
    List<ActivityInfoVO> selectAllClubActivity(Integer clubId);

    // 插入活动信息
    Integer insertActivity(Activity activity);

    // 修改活动状态
    Integer updateActivityStatus(Integer activityId, Integer newStatus);

    // 用户参加活动
    Integer userAttendActivity(Integer userId, Integer activityId);

    void deleteUserActivity(Integer userId, Integer activityId);

    Integer modifyActivityInfo(ActivityInfoVO activityInfo);

    List<ActivityInfoVO> selectActivityByWord(String key, String word, Integer userId);

    List<ActivityInfoVO> selectCouldAttendActivityByWord(String key, String word, Integer userId);

    List<ActivityInfoVO> selectCurClubActivityByWord(String key, String word, Integer clubId);
}
